<?php
namespace SimplePHp\Rendering;

/**
 *
 */
class ForElement extends AutoResolveElement implements IElement {
	/**
	 * 元素转换成
	 * 还要解析子节点
	 * 也要包子节点的解析放在这里
	 * php代码用于嵌入到缓存文件中
	 *
	 *子节点遍历解决方案  去除再放回
	 *
	 * @return [type] [description]
	 */
	public function trunPhp(&$html, &$ele) {
		$this->phpElement($html, $ele, "for(" . $this->parseEle($ele) . "){");
	}
	/**
	 * 解析xml文本  提取
	 * xml文本中的数据
	 * @return [type] [返回解析后可以替换的phpcode]
	 */
	private function parseEle($ele) {
		if ($ele->hasAttribute("code")) {
			$code = $ele->getAttribute("code");
			$code = $this->specialWordReplace($code);
			$code = explode(';', $code);
			$i = 0;
			$result = "";
			foreach ($code as $value) {
				$split = count($code) - 1 <= $i ? "" : ";";
				$result .= "$" . $value . $split;
				$i++;
			}
			return $result;
		} else {
			throw new Exception("for标签不完整 缺少code属性", 1);
		}
	}
	/**
	 * 取得tagname
	 * @return [type] [description]
	 */
	public function getTagName() {
		return "for";
	}
}